package com.gosophia.oa.test.functional;

import org.junit.Test;

import com.gosophia.oa.test.CustomSeleneseTestCase;

public class FTTaskManagement extends CustomSeleneseTestCase {
	
	@Override
	public void setUp() throws Exception {
		super.setUp("http://localhost:8080/");
	}

	@Override
	public void tearDown() throws Exception {
		if (selenium != null)
			selenium.close();
		super.tearDown();
	}
	
	@Test
	public void testTaskInitiationPage() {
		selenium.open("/OA/");
		selenium.type("j_username", "admin");
		selenium.type("j_password", "admin");
		selenium.click("loginBtn");
		selenium.waitForPageToLoad("10000");

		// 进入发起页面
		selenium.click("link=任务发起");
		selenium.waitForPageToLoad("10000");
		assertPageTitle("北京市电子行政监察平台-发起任务", onPage("任务发起页面"));
		// 验证页面元素
		String[] creationPageElementTexts = {
				"任务发起",
				"任务名称",
				"任务计划结束日期",
				"重要程度",
				"承办人",
				"任务类型",
				"任务描述",
				};
		verifyPresenceOfTexts(creationPageElementTexts, onPage("任务发起页面"));
	}

	@Test
	public void testTaskToDoPage() {
		selenium.open("/OA/");
		selenium.type("j_username", "admin");
		selenium.type("j_password", "admin");
		selenium.click("loginBtn");
		selenium.waitForPageToLoad("10000");

		// 进入列表页面
		selenium.click("link=待办任务");
		selenium.waitForPageToLoad("10000");
		assertPageTitle("北京市电子行政监察平台-待办任务列表", onPage("待办任务列表页面"));
		// 等待列表刷新完成
		waitForAppearanceOfElement("//div[@id='dataTable']/table", 10000);
		// 验证页面元素
		String[] listPageElementTexts = {
				"待办任务",
				"任务编号",
				"任务名称",
				"来自",
				"任务类型",
				"任务计划结束日期",
				"重要度",
				"操作",
				"首页", "尾页",
				};
		verifyPresenceOfTexts(listPageElementTexts, onPage("待办任务列表页面"));
	}
	
	@Test
	public void testTaskQueryPage() {
		selenium.open("/OA/");
		selenium.type("j_username", "admin");
		selenium.type("j_password", "admin");
		selenium.click("loginBtn");
		selenium.waitForPageToLoad("10000");

		// 进入列表页面
		selenium.click("link=任务查询");
		selenium.waitForPageToLoad("10000");
		assertPageTitle("北京市电子行政监察平台-任务列表", onPage("任务查询页面"));
		// 等待列表刷新完成
		waitForAppearanceOfElement("//div[@id='dataTable']/table", 10000);
		// 验证页面元素
		String[] listPageElementTexts = {
				"业务查询",
				"任务编号",
				"任务名称",
				"创建人",
				"任务计划结束日期",
				"任务类型",
				"任务状态",
				"重要度",
				"首页", "尾页",
				};
		verifyPresenceOfTexts(listPageElementTexts, onPage("任务查询页面"));

	}

}
